<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
	<title th:replace="common/base::pagetitle"></title>
	<link th:replace="common/base::static"/>
</head>
<body style="background-color: #f2f2f2;">

<div id="kPage" class="layui-fluid" style="padding: 0">
	<div class="layui-row">
		<div class="layui-col-md12" id="kMainContentCol">
			<div class="layui-fluid wlb-fluid-padding15">
				<div class="layui-card">
					<form>
						<div class="layui-form layui-card-header wlb-card-header-auto">
							<div class="layui-form-item">
								<div class="layui-inline">
									<label class="layui-form-label">模板名称</label>
									<div class="layui-input-inline">
										<input type="text" name="name" placeholder="请输入" autocomplete="off" class="layui-input">
									</div>
								</div>
								<div class="layui-inline">
									<button class="layui-btn " lay-submit="" lay-filter="kTableSearchFilter">
										<i class="layui-icon layui-icon-search"></i>
									</button>
									<button class="layui-btn " type="reset">
										<i class="layui-icon layui-icon-refresh-1"></i>
									</button>
								</div>
							</div>
						</div>
					</form>

					<div class="layui-card-body">
						<table id="kContentTable" lay-filter="kContentTable"></table>
					</div>
				</div>

			</div>
		</div>
	</div>
</div>

<script th:replace="common/base::context"></script>
<script th:replace="common/base::mainjs"></script>



<!--<script type="text/html" id="templateBtypeTpl">-->
	<!--{{#  if(d.templateBtype == 0){ }}-->
	<!--<span class="layui-badge layui-bg-green">系统模板</span>-->
	<!--{{#  } else { }}-->
	<!--<span class="layui-badge">其他</span>-->
	<!--{{# } }}-->
<!--</script>-->

<!--头部工具栏模板-->
<script type="text/html" id="headToolbarTpl">
	<button class="layui-btn layui-btn-sm" lay-event="add">添加</button>
	<button class="layui-btn layui-btn-sm" lay-event="batchdel">删除</button>
</script>

<!--表格行工具栏模板-->
<script type="text/html" id="rowToolbarTpl">
	 <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>编辑</a>
	<a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="del"><i class="layui-icon layui-icon-delete">删除</i></a>
</script>

<!--表格列格式化模板 start-->
<script type="text/html" id="templateTypeTpl">
	 {{#  if(d.templateType == 0){ }}
	 <span class="layui-badge layui-bg-green">系统模板</span>
	 {{#  } else if(d.templateTypeTpl == 1) { }}
	 <span class="layui-badge layui-bg-blue">用户模板</span>
	 {{#  } else { }}
	 <span class="layui-badge">其他</span>
	 {{# } }}
</script>
<script type="text/html" id="templateBtypeTpl">
	 {{# var data = wlbKit.get(api.sys.dictGetByCode + d.templateBtype).data; }}
	 {{# return data ? data.name : '<span class="layui-badge-rim">未知</span>'; }}
</script>
<!--表格列格式化模板 end-->

<script type="text/javascript" th:inline="javascript">
    layui.use(['element', 'form', 'layer', 'table', 'laydate'], function () {
        var elemet = layui.element, form = layui.form, layer = layui.layer, table = layui.table, laydate = layui.laydate;
        var tableId = 'kContentTable';
		var area = ['90%', '95%'];

        // 实例化table
        var tableIns = table.render($.extend(config.layui.table, {
            elem: '#' + tableId
            , url: BASE_WEB + 'template/info/list/data' // 数据接口
            , toolbar: '#headToolbarTpl'
            , cols: [[ //表头
                {field: 'id', title: '模板ID', fixed: 'left', width: 250}
				,{field: 'name', title: '模板名称', fixed: 'left', width: 130}
                , {field: 'templateType', title: '模板类型', width: 130,templet: '#templateTypeTpl'}
					, {field: 'templateBtype', title: '模板业务类型', width: 130,templet: '#templateBtypeTpl'}
                , {field: 'description', title: '模板描述', width: 200}
                , {field: '', title: '操作', width: 235, fixed: 'right', templet: '#rowToolbarTpl'}
            ]]
				, done: function (res, curr, count) {
                //如果是异步请求数据方式，res即为你接口返回的信息。
                //如果是直接赋值的方式，res即为：{data: [], count: 99} data为当前页数据、count为数据总长度
                var that = this.elem.next();
                res.data.forEach(function (item, index) {
						  if(item.errorCount > 0){
						  		var tr = that.find(".layui-table-box tbody tr[data-index='"+index+"']").css("background-color", "#FFF68F");
						  }
                })
            }
        }));

        table.on('row(' + tableId + ')', function(obj){
            console.log(obj.tr) //得到当前行元素对象
            console.log(obj.data) //得到当前行数据
				if(obj.data.errorCount != null && obj.data.errorCount > 0){
                layer.open({
                    type: 2
                    , title: '错误信息'
                    , content: BASE_WEB + 'monitor/info/infoError?instanceId='+obj.data.instanceId+'&routeId='+obj.data.routeId
                    , maxmin: true
                    , area: area   // 宽高
                    , btn: ['确定', '取消']
                    , yes: function (index, layero) {
                        //点击确认触发 iframe 内容中的按钮提交
                        var submit = layero.find('iframe').contents().find("#kFormSubmit");
                        submit.click();
                    }
                });
				}
            //obj.del(); //删除当前行
            //obj.update(fields) //修改当前行数据
        });

        // 监听表格头部事件
        table.on('toolbar(' + tableId + ')', function (obj) {
            var checkStatus = table.checkStatus(obj.config.id);
            var checkData = checkStatus.data; // 得到选中的数据
            switch (obj.event) {
                case 'add':
                    layer.open({
                        type: 2
                        , title: '添加'
                        , content: BASE_WEB + 'template/info/edit' + '?action=add'
                        , maxmin: true
                        , area: area   // 宽高
                        , btn: ['确定', '取消']
                        , yes: function (index, layero) {
                            //点击确认触发 iframe 内容中的按钮提交
                            var submit = layero.find('iframe').contents().find("#kFormSubmit");
                            submit.click();
                        }
                    });
                    break;
                case 'batchdel':
                    if (checkData.length === 0) {
                        return wlbKit.warningMsg('请选择数据');
                    }
                    layer.confirm('确定删除吗？', function (index) {
                        var ids = [];
                        $.each(checkData, function (i, n) {
                            ids[i] = n.id;
                        });

                        //执行 Ajax 后重载
                        $.ajax({
                            type: req.type.post,
                            url: BASE_WEB + 'monitor/info/batchdel',
                            data: {ids: ids.toString()},
                            success: function (r) {
                                if (r.code === req.status.ok) {
                                    table.reload(tableId);
                                    wlbKit.sucessMsg('已删除');
                                } else {
                                    wlbKit.errorMsg(r.msg);
                                }
                            }
                        });
                    });
                    break;
            }
        });

        // 表格行按钮 监听事件
        table.on('tool(' + tableId + ')', function (obj) {
            var data = obj.data; //获得当前行数据
            var layEvent = obj.event; //获得 lay-event 对应的值（也可以是表头的 event 参数对应的值）
            var tr = obj.tr; //获得当前行 tr 的DOM对象

            if (layEvent === 'edit') {
                var index = layer.open({
                    type: 2
                    , title: '编辑'
                    , content:  BASE_WEB + 'template/info/edit?id=' + data.id + '&action=edit'
                    , maxmin: true
                    , area: area   // 宽高
                    , btn: ['确定', '取消']
                    , yes: function (index, layero) {
                        //点击确认触发 iframe 内容中的按钮提交
                        var submit = layero.find('iframe').contents().find("#kFormSubmit");
                        submit.click();
                    }
                });
                layer.full(index);
            }
            if (layEvent === 'del') {
                layer.confirm('确定删除吗？', function (index) {
                    //执行 Ajax 后重载
                    $.ajax({
                        type: req.type.post,
                        url: BASE_WEB + 'monitor/info/del/' + data.id,
                        async: false,
                        success: function (r) {
                            if (r.code === req.status.ok) {
                                table.reload(tableId);
                                wlbKit.sucessMsg('已删除');
                            } else {
                                wlbKit.errorMsg(r.msg);
                            }
                        }
                    });
                });
            }
        });


        // 监听查询
        form.on('submit(kTableSearchFilter)', function (obj) {
            var params = obj.field;
            tableIns.reload({
                where: params,
                page: {curr: 1}
            });
            return false;
        });

        // 绑定监听回车事件
        wlbKit.bindEnterEventForLayuiForm();

    });
</script>

</body>
</html>